package org.langcom.state;

import org.langcom.logic.ILogic;
import org.langcom.logic.LogicException;

/**
 * This interface is purposed for implementation of the base functionality of the logically managed actions which may be
 * later wrapped by Visible action for interact with UI or may be used on one's own.
 * @author nemo
 *
 */
public interface ICommonAction {

	public String getText();
	
	public String getDescription();
	
	public void setText(String text);
	
	public void setDescription(String description);
	
	public ILogic getLogic();

	public void setLogic(ILogic logic);
	
	public void run() throws LogicException,Exception;
	
	public void runChecked() throws Exception;
}
